package com.ruoyi.project.modules.interfaceinfo.domain;

import com.ruoyi.project.modules.fileInfo.domain.FileInf;
import com.ruoyi.project.modules.interfaceinfo.vo.InterfaceParam;
import com.ruoyi.project.modules.userDataAuth.domain.UserDataAuth;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 实体用况对象 t_interface_info
 *
 * @author smallrain
 * @date 2021-10-29
 */
public class InterfaceInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    private Long id;
    private Long notId;

    private int flag = 0;

    private Long userId;

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public int getFlag() {
        return flag;
    }

    public void setFlag(int flag) {
        this.flag = flag;
    }

    public Long getNotId() {
        return notId;
    }

    public void setNotId(Long notId) {
        this.notId = notId;
    }

    /**
     * 归属服务
     */
    private String appType;
    private String notAppType;
    private String domain;

    /**
     * 接口名称
     */
    @Excel(name = "接口名称")
    private String interfaceName;

    /**
     * 接口描述
     */
    @Excel(name = "接口描述")
    private String interfaceDescription;

    /**
     * 接口地址
     */
    @Excel(name = "接口地址")
    private String interfaceUrl;

    /**
     * 前后类型（1dubbo 2bff）
     */
    @Excel(name = "前后类型", readConverterExp = "1=dubbo,2=bff")
    private String fbType;

    /**
     * 操作类型（1增 2删 3改 4查）
     */
    @Excel(name = "操作类型", readConverterExp = "1=增,2=删,3=改,4=查")
    private String optType;

    /**
     * 接口类型（1get 2post 3put 4delete）
     */
    @Excel(name = "接口类型", readConverterExp = "1=get,2=post,3=put,4=delete")
    private String interfaceType;

    /**
     * 是否分页（Y是 N否）
     */
    @Excel(name = "是否分页", readConverterExp = "Y=是,N=否")
    private String isPage;
    private String isRisk;

    /**
     * 总条数
     */
    @Excel(name = "总条数")
    private Long total;

    /**
     * 页数
     */
    @Excel(name = "页数")
    private Long page;

    /**
     * 每页大小
     */
    @Excel(name = "每页大小")
    private Long pageSize;

    /**
     * 非功能需求
     */
    @Excel(name = "非功能需求")
    private String nonFunctionalRequirements;

    /**
     * 状态（0正常 1停用）
     */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    private List<VirtualUsage> virtualUsages;

    private List<Long> ids;

    private String isTree;

    /**
     * 入参
     */
    private List<InterfaceParam> requestList;
    /**
     * 出参
     */
    private List<InterfaceParam> responseList;

    private String excludeFlag;

    /**
     * 特殊接口
     */
    private String specialInterface;

    private String inParamDtoName;

    private String outParamDtoName;

    private List<FileInf> fileList;

    private List<Long> pageIds;

    private Long usageId;

    private String isUse;

    private Long pageId;

    /**接口开发人员*/
    private List<UserDataAuth> userList;

    private String isBoundary;
    private String isCommon;
    private String isPlatform;
    private String isManage;

    private Long domainId;
    private Long domainObjectId;
    private String operateType;
    private List<Long> productIds;
    private String isBranch;
    private String domainName;
    private String relationInterfaceName;
    private String storageType;

    // 1-设计中、2-设计完成、3-评审环节、4-待生成代码、5-生成代码待验证、6-单元测试未开始、7-前端待测试、8-完成前端测试、9-接口封版
    private String lifeCycle;

    // 1-无状态、2-正常状态、3-代码概要验证异常、4-单元测试异常、5-前端测试异常、6-正常后异常
    private String errorStatus;
    
    private String fieldModel;
    private String objectName;
    private String selfFieldModel;
    private String aliasZhName;
    private String aliasEnName;
    private String otherModel;
    private String isAllowEmptyModel;
    private String interfaceModel;
    private String interfaceAllowEmptyModel;
    private String dictType;
    private String dictValue;
    private String preLifeCycle;
    private String isEditTest;
    private String interfaceUrl2;

    private Long productId;

    public String getInterfaceUrl2() {
        return interfaceUrl2;
    }

    public void setInterfaceUrl2(String interfaceUrl2) {
        this.interfaceUrl2 = interfaceUrl2;
    }

    public String getDictType() {
        return dictType;
    }

    public void setDictType(String dictType) {
        this.dictType = dictType;
    }

    public String getObjectName() {
        return objectName;
    }

    public void setObjectName(String objectName) {
        this.objectName = objectName;
    }

    public Long getProductId() {
        return productId;
    }

    public void setProductId(Long productId) {
        this.productId = productId;
    }

    public String getPreLifeCycle() {
        return preLifeCycle;
    }

    public void setPreLifeCycle(String preLifeCycle) {
        this.preLifeCycle = preLifeCycle;
    }

    public String getIsEditTest() {
        return isEditTest;
    }

    public void setIsEditTest(String isEditTest) {
        this.isEditTest = isEditTest;
    }

    public String getDictValue() {
        return dictValue;
    }

    public void setDictValue(String dictValue) {
        this.dictValue = dictValue;
    }

    public String getInterfaceAllowEmptyModel() {
        return interfaceAllowEmptyModel;
    }

    public void setInterfaceAllowEmptyModel(String interfaceAllowEmptyModel) {
        this.interfaceAllowEmptyModel = interfaceAllowEmptyModel;
    }

    public String getFieldModel() {
        return fieldModel;
    }

    public void setFieldModel(String fieldModel) {
        this.fieldModel = fieldModel;
    }

    public String getSelfFieldModel() {
        return selfFieldModel;
    }

    public void setSelfFieldModel(String selfFieldModel) {
        this.selfFieldModel = selfFieldModel;
    }

    public String getAliasZhName() {
        return aliasZhName;
    }

    public void setAliasZhName(String aliasZhName) {
        this.aliasZhName = aliasZhName;
    }

    public String getAliasEnName() {
        return aliasEnName;
    }

    public void setAliasEnName(String aliasEnName) {
        this.aliasEnName = aliasEnName;
    }

    public String getOtherModel() {
        return otherModel;
    }

    public void setOtherModel(String otherModel) {
        this.otherModel = otherModel;
    }

    public String getIsAllowEmptyModel() {
        return isAllowEmptyModel;
    }

    public void setIsAllowEmptyModel(String isAllowEmptyModel) {
        this.isAllowEmptyModel = isAllowEmptyModel;
    }

    public String getInterfaceModel() {
        return interfaceModel;
    }

    public void setInterfaceModel(String interfaceModel) {
        this.interfaceModel = interfaceModel;
    }

    public String getErrorStatus() {
        return errorStatus;
    }

    public void setErrorStatus(String errorStatus) {
        this.errorStatus = errorStatus;
    }

    public String getLifeCycle() {
        return lifeCycle;
    }

    public void setLifeCycle(String lifeCycle) {
        this.lifeCycle = lifeCycle;
    }

    public String getStorageType() {
        return storageType;
    }

    public void setStorageType(String storageType) {
        this.storageType = storageType;
    }

    public String getRelationInterfaceName() {
        return relationInterfaceName;
    }

    public void setRelationInterfaceName(String relationInterfaceName) {
        this.relationInterfaceName = relationInterfaceName;
    }

    public String getDomainName() {
        return domainName;
    }

    public void setDomainName(String domainName) {
        this.domainName = domainName;
    }

    /**
     * 0-没有图 1-有局部没有主图 2-有局部图有主图
     */
    private Integer showImgType = 0;

    private String isJob;
    private String jobDescription;

    public String getNotAppType() {
        return notAppType;
    }

    public void setNotAppType(String notAppType) {
        this.notAppType = notAppType;
    }

    public String getIsJob() {
        return isJob;
    }

    public void setIsJob(String isJob) {
        this.isJob = isJob;
    }

    public String getJobDescription() {
        return jobDescription;
    }

    public void setJobDescription(String jobDescription) {
        this.jobDescription = jobDescription;
    }

    public String getIsBranch() {
        return isBranch;
    }

    public void setIsBranch(String isBranch) {
        this.isBranch = isBranch;
    }

    public Long getDomainId() {
        return domainId;
    }

    public void setDomainId(Long domainId) {
        this.domainId = domainId;
    }

    public Long getDomainObjectId() {
        return domainObjectId;
    }

    public void setDomainObjectId(Long domainObjectId) {
        this.domainObjectId = domainObjectId;
    }

    public String getOperateType() {
        return operateType;
    }

    public void setOperateType(String operateType) {
        this.operateType = operateType;
    }

    public Integer getShowImgType() {
        return showImgType;
    }

    public void setShowImgType(Integer showImgType) {
        this.showImgType = showImgType;
    }

    public List<Long> getProductIds() {
        return productIds;
    }

    public void setProductIds(List<Long> productIds) {
        this.productIds = productIds;
    }

    public String getIsBoundary() {
        return isBoundary;
    }

    public void setIsBoundary(String isBoundary) {
        this.isBoundary = isBoundary;
    }

    public String getIsCommon() {
        return isCommon;
    }

    public void setIsCommon(String isCommon) {
        this.isCommon = isCommon;
    }

    public String getIsPlatform() {
        return isPlatform;
    }

    public void setIsPlatform(String isPlatform) {
        this.isPlatform = isPlatform;
    }

    public String getIsManage() {
        return isManage;
    }

    public void setIsManage(String isManage) {
        this.isManage = isManage;
    }

    public Long getPageId() {
        return pageId;
    }

    public void setPageId(Long pageId) {
        this.pageId = pageId;
    }

    public String getIsUse() {
        return isUse;
    }

    public void setIsUse(String isUse) {
        this.isUse = isUse;
    }

    public List<Long> getPageIds() {
        return pageIds;
    }

    public void setPageIds(List<Long> pageIds) {
        this.pageIds = pageIds;
    }

    public Long getUsageId() {
        return usageId;
    }

    public void setUsageId(Long usageId) {
        this.usageId = usageId;
    }

    public String getInParamDtoName() {
        return inParamDtoName;
    }

    public void setInParamDtoName(String inParamDtoName) {
        this.inParamDtoName = inParamDtoName;
    }

    public String getOutParamDtoName() {
        return outParamDtoName;
    }

    public void setOutParamDtoName(String outParamDtoName) {
        this.outParamDtoName = outParamDtoName;
    }

    public String getSpecialInterface() {
        return specialInterface;
    }

    public void setSpecialInterface(String specialInterface) {
        this.specialInterface = specialInterface;
    }

    public String getExcludeFlag() {
        return excludeFlag;
    }

    public void setExcludeFlag(String excludeFlag) {
        this.excludeFlag = excludeFlag;
    }

    public List<InterfaceParam> getRequestList() {
        return requestList;
    }

    public void setRequestList(List<InterfaceParam> requestList) {
        this.requestList = requestList;
    }

    public List<InterfaceParam> getResponseList() {
        return responseList;
    }

    public void setResponseList(List<InterfaceParam> responseList) {
        this.responseList = responseList;
    }

    public String getIsTree() {
        return isTree;
    }

    public void setIsTree(String isTree) {
        this.isTree = isTree;
    }

    public String getDomain() {
        return domain;
    }

    public void setDomain(String domain) {
        this.domain = domain;
    }

    public String getIsRisk() {
        return isRisk;
    }

    public void setIsRisk(String isRisk) {
        this.isRisk = isRisk;
    }

    public String getAppType() {
        return appType;
    }

    public void setAppType(String appType) {
        this.appType = appType;
    }

    public List<Long> getIds() {
        return ids;
    }

    public void setIds(List<Long> ids) {
        this.ids = ids;
    }

    public List<VirtualUsage> getVirtualUsages() {
        return virtualUsages;
    }

    public void setVirtualUsages(List<VirtualUsage> virtualUsages) {
        this.virtualUsages = virtualUsages;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setInterfaceName(String interfaceName) {
        this.interfaceName = interfaceName;
    }

    public String getInterfaceName() {
        return interfaceName;
    }

    public void setInterfaceDescription(String interfaceDescription) {
        this.interfaceDescription = interfaceDescription;
    }

    public String getInterfaceDescription() {
        return interfaceDescription;
    }

    public void setInterfaceUrl(String interfaceUrl) {
        this.interfaceUrl = interfaceUrl;
    }

    public String getInterfaceUrl() {
        return interfaceUrl;
    }

    public void setFbType(String fbType) {
        this.fbType = fbType;
    }

    public String getFbType() {
        return fbType;
    }

    public void setOptType(String optType) {
        this.optType = optType;
    }

    public String getOptType() {
        return optType;
    }

    public void setInterfaceType(String interfaceType) {
        this.interfaceType = interfaceType;
    }

    public String getInterfaceType() {
        return interfaceType;
    }

    public void setIsPage(String isPage) {
        this.isPage = isPage;
    }

    public String getIsPage() {
        return isPage;
    }

    public void setTotal(Long total) {
        this.total = total;
    }

    public Long getTotal() {
        return total;
    }

    public void setPage(Long page) {
        this.page = page;
    }

    public Long getPage() {
        return page;
    }

    public void setPageSize(Long pageSize) {
        this.pageSize = pageSize;
    }

    public Long getPageSize() {
        return pageSize;
    }

    public void setNonFunctionalRequirements(String nonFunctionalRequirements) {
        this.nonFunctionalRequirements = nonFunctionalRequirements;
    }

    public String getNonFunctionalRequirements() {
        return nonFunctionalRequirements;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public List<FileInf> getFileList() {
        return fileList;
    }

    public void setFileList(List<FileInf> fileList) {
        this.fileList = fileList;
    }

    public List<UserDataAuth> getUserList() {
        return userList;
    }

    public void setUserList(List<UserDataAuth> userList) {
        this.userList = userList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("interfaceName", getInterfaceName())
                .append("interfaceDescription", getInterfaceDescription())
                .append("interfaceUrl", getInterfaceUrl())
                .append("fbType", getFbType())
                .append("optType", getOptType())
                .append("interfaceType", getInterfaceType())
                .append("isPage", getIsPage())
                .append("total", getTotal())
                .append("page", getPage())
                .append("pageSize", getPageSize())
                .append("nonFunctionalRequirements", getNonFunctionalRequirements())
                .append("status", getStatus())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
